#include<iostream>
#include<cstring>
using namespace std;

string q2, q3;
long long s2, s3;
long long  tmp;        //中间变量：先转换为十进制

//3位三进制表示范围：0~8
//4位二进制表示范围：0~15
//直接判断二进制串的错误可能，等到s2种可能结果，并转换为三进制
//结果与q3依次对比，只差一位就相同的即是结果

//二进制转换为三进制
void isTo3System() {
    tmp = 0;
    int i = 0;          //二进制的比较次数
    while (i < s2) {
        tmp *= 2;
        tmp += q2[i++] - '0';
    }//转换为十进制

    int faultNum = 0;   //不相符的数字数量
    int ans = tmp;
    int m ;  //用于保存中间变量，每位的值
    int j = s3 - 1;     //用于记录三进制需要比较几次

    while (tmp && faultNum < 2) {
        m = tmp % 3;

        if(m != q3[j] - '0')  faultNum++;
        tmp /= 3;
        j--;
    }

    while (q3[j] == '0')    j--;   //清除前导零

    if(faultNum <= 1 && j == -1){
        cout << ans << endl;
        return  ;
    }

}

int main() {
    cin >> q2 >> q3;

    s2 = q2.size();
    s3 = q3.size();

    for (int i = s2 - 1; i >= 0; i--) {
        if (q2[i] == '0') {
            q2[i] = '1';
            isTo3System();
            q2[i] = '0';
        }
        else {
            q2[i] = '0';
            isTo3System();
            q2[i] = '1';
        }
    }

    return 0;
}